package com.txts.road.app.event.service;

import com.txts.road.app.event.model.entity.EventRegistrationEntity;
import com.txts.road.app.event.model.dto.EventRegistrationDTO;
import com.txts.road.app.event.model.vo.EventRegistrationVO;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * 赛事报名服务类
 *
 * @author baoyr
 * @since 2025-07-17 10:46
 */
public interface EventRegistrationService extends IService<EventRegistrationEntity> {


    /**
     * 赛事报名
     *
     * @param eventId         赛事ID
     * @param registrationDTO 报名参数
     * @return true - 报名成功 false - 报名失败
     */
    Boolean registerEvent(Long eventId, EventRegistrationDTO registrationDTO);

    /**
     * 取消报名
     *
     * @param eventId 赛事ID
     * @return true - 取消成功 false - 取消失败
     */
    Boolean cancelRegistration(Long eventId);

    /**
     * 获取报名信息
     *
     * @param eventId 赛事ID
     * @return 报名信息
     */
    EventRegistrationVO getRegistrationInfo(Long eventId);
}
